﻿using FreeSql.DatabaseModel;using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Reflection;
using System.Threading.Tasks;
using Newtonsoft.Json;
using FreeSql.DataAnnotations;

namespace Simple.Repository.SimpleEntitys {

	/// <summary>
	/// 员工
	/// </summary>
	[JsonObject(MemberSerialization.OptIn), Table(Name = "employee", DisableSyncStructure = true)]
	public partial class Employee {

		/// <summary>
		/// 员工Id
		/// </summary>
		[JsonProperty, Column(Name = "id", DbType = "bigint", IsPrimary = true, IsIdentity = true)]
		public long Id { get; set; }

		/// <summary>
		/// 公司Id
		/// </summary>
		[JsonProperty, Column(Name = "company_id", DbType = "bigint")]
		public long CompanyId { get; set; }

		/// <summary>
		/// 员工姓名
		/// </summary>
		[JsonProperty, Column(Name = "name", IsNullable = false)]
		public string Name { get; set; }

		/// <summary>
		/// 员工姓名-拼音
		/// </summary>
		[JsonProperty, Column(Name = "name_pinyin", IsNullable = false)]
		public string NamePinyin { get; set; }

		/// <summary>
		/// 员工姓名-拼音-大写首字母
		/// </summary>
		[JsonProperty, Column(Name = "name_pinyin_capital_letter", IsNullable = false)]
		public string NamePinyinCapitalLetter { get; set; }

		/// <summary>
		/// 员工手机号
		/// </summary>
		[JsonProperty, Column(Name = "phone", IsNullable = false)]
		public string Phone { get; set; }

		/// <summary>
		/// 员工登录密码
		/// </summary>
		[JsonProperty, Column(Name = "password", IsNullable = false)]
		public string Password { get; set; }

		/// <summary>
		/// 密码明文
		/// </summary>
		[JsonProperty, Column(Name = "password_plaintext", IsNullable = false)]
		public string PasswordPlaintext { get; set; }

		/// <summary>
		/// 性别：0=未知、1=男、2=女
		/// </summary>
		[JsonProperty, Column(Name = "gender", DbType = "int")]
		public int Gender { get; set; }

		/// <summary>
		/// 身份证号
		/// </summary>
		[JsonProperty, Column(Name = "idCard", IsNullable = false)]
		public string IdCard { get; set; }

		/// <summary>
		/// 状态：0=禁用、1=启用
		/// </summary>
		[JsonProperty, Column(Name = "status", DbType = "int")]
		public int Status { get; set; }

		/// <summary>
		/// 生日
		/// </summary>
		[JsonProperty, Column(Name = "brithday", DbType = "datetime")]
		public DateTime Brithday { get; set; }

		/// <summary>
		/// 属相
		/// </summary>
		[JsonProperty, Column(Name = "chinese_zodiac", StringLength = 2, IsNullable = false)]
		public string ChineseZodiac { get; set; }

		/// <summary>
		/// 居住地址
		/// </summary>
		[JsonProperty, Column(Name = "address")]
		public string Address { get; set; }

		/// <summary>
		/// 头像
		/// </summary>
		[JsonProperty, Column(Name = "avatar_url")]
		public string AvatarUrl { get; set; }

		/// <summary>
		/// 员工照片
		/// </summary>
		[JsonProperty, Column(Name = "photo_urls", StringLength = -1)]
		public string PhotoUrls { get; set; }

		/// <summary>
		/// 健康证
		/// </summary>
		[JsonProperty, Column(Name = "health_certificate_url")]
		public string HealthCertificateUrl { get; set; }

		/// <summary>
		/// 护理证
		/// </summary>
		[JsonProperty, Column(Name = "nursing_certificate_url")]
		public string NursingCertificateUrl { get; set; }

		/// <summary>
		/// 荣誉证书
		/// </summary>
		[JsonProperty, Column(Name = "honor_certificate_url")]
		public string HonorCertificateUrl { get; set; }

		/// <summary>
		/// 身高（单位CM）
		/// </summary>
		[JsonProperty, Column(Name = "height", DbType = "int")]
		public int? Height { get; set; }

		/// <summary>
		/// 体重（单位KG）
		/// </summary>
		[JsonProperty, Column(Name = "weight", DbType = "int")]
		public int? Weight { get; set; }

		/// <summary>
		/// 几年工作经验
		/// </summary>
		[JsonProperty, Column(Name = "work_year", DbType = "int")]
		public int? WorkYear { get; set; }

		/// <summary>
		/// 户籍所在地
		/// </summary>
		[JsonProperty, Column(Name = "registered_residence")]
		public string RegisteredResidence { get; set; }

		/// <summary>
		/// 教育背景：小学、初中、高中、专科、本科、硕士、博士
		/// </summary>
		[JsonProperty, Column(Name = "educational")]
		public string Educational { get; set; }

		/// <summary>
		/// 邮箱
		/// </summary>
		[JsonProperty, Column(Name = "email")]
		public string Email { get; set; }

		/// <summary>
		/// 是否最高管理员
		/// </summary>
		[JsonProperty, Column(Name = "is_admin", DbType = "int")]
		public int IsAdmin { get; set; }

		/// <summary>
		/// 创建时间
		/// </summary>
		[JsonProperty, Column(Name = "create_time", DbType = "datetime")]
		public DateTime CreateTime { get; set; }

		/// <summary>
		/// 创建人
		/// </summary>
		[JsonProperty, Column(Name = "create_by", DbType = "bigint")]
		public long CreateBy { get; set; }

		/// <summary>
		/// 更新时间
		/// </summary>
		[JsonProperty, Column(Name = "update_time", DbType = "datetime")]
		public DateTime UpdateTime { get; set; }

		/// <summary>
		/// 更新人
		/// </summary>
		[JsonProperty, Column(Name = "update_by", DbType = "bigint")]
		public long UpdateBy { get; set; }

		/// <summary>
		/// 是否删除：0=未删除、1=已删除
		/// </summary>
		[JsonProperty, Column(Name = "is_delete", DbType = "int")]
		public int IsDelete { get; set; }

	}

}
